package ioperation;

import book.Book;
import book.BookList;

import java.util.Scanner;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User:张熳
 * Date:2025-09-05
 * Time:15:46
 */

//写出你要删除的书名，如果在遍历数组的时候，找到了和要删除的图书名字相同的书，则将pos赋值为该元素的下标的值，然后break停止循环，如果遍历到最后
//都没有找到，则直接return；最后进行删除操作：首先判断条件记得是currentSize-1，我们要将后一个元素赋值给前一个元素，即books[j]=books[j+1]
//首先pos位置元素的删除，最后将多出来的位置，即currentSize位置置为null，并将图书的个数减1
public class DelOperation implements IOperation{
    @Override
    public void work(BookList bookList) {
        System.out.println("删除图书❌");
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入要删除的图书书名📕：");
        String name = scanner.nextLine();

        int currentSize = bookList.getUsedSize();
        int pos = -1;
        int i = 0;
        for (; i < currentSize; i++) {
            Book book = bookList.getBook(i);
            if (book.getName().equals(name)) {
                System.out.println("找到要删除的图书了📚：");
                pos = i;
                break;
            }
        }
        if (i == currentSize) {
            System.out.println("没有你要删除的图书📖！");
            return;
        }
        //到这里开始删除图书
        for (int j = pos; j < currentSize-1; j++) {
            Book book = bookList.getBook(j+1);
            bookList.setBook(j,book);
        }
        bookList.setBook(currentSize,null);
        bookList.setUsedSize(currentSize-1) ;
        System.out.println("删除成功🎉！");
    }
}
